返回教授列表
[COMP1022P]Introduction to Computing with Java
NG Wilfred Siu Hung課程時間:2017年Fall
授課教授:NG, Wilfred Siu Hung
我覺得教授:舉例時會有點自high
評分標準:written assignment + programming assignment + lab + midterm + final
這門課的Grade:一般
我覺得這門課適合給有程式基礎(之前寫過C、C++...) 又想學Java 的同學。課程內容十分充實,不過因為課程是從Java 的物件導向開始講,所以對程式初學者來說,不太友善。
至於龜為什麼一般? ...因為,同一堂的同學們都太強了,一堆大佬出沒,所以A range 分數線實在有點高,midterm、final、written assignment、programming assignment 都要很細心,一不小心犯傻,就跟A說再見了。
[COMP3311]开卷考高达
NG Wilfred Siu Hung課程時間:Spring 2016
授課教授:Wilfred Ng
這門課的Grade:较好,本人总评88左右,A
Grading scheme: 30% assignment, 30% midterm, 40% final
先讲讲我对这个教授的感觉吧,讲课其实还行,念slides然后rephrase一下解释给你听,课上有挺多练习的。
这门课的毒,主要是在各种material里面。先说说lecture slides。读这个教授的slides就像是听他说话,不能奢求什么语法,语言逻辑连贯性什么的就不要想了。上课之前最好读一遍slides然后上课的时候能做点笔记把一些奇怪的表述标注一下,如果你有时间。我之前没有这么做,复习的时候理解起来非常辛苦。除此之外,他真的讲了很多很多内容......知识点非常非常多,这一点在考试的时候体现得尤为突出。除了语言混乱找不找重点以外,有些知识点在slides上面存在谬误。比如说b tree的balance rule,课件上的例子跟tutorial的例子就是不一样的,复习的时候我们几个人上网找问ta查资料,最后几个人以讨论出一个比较靠谱的,觉得嗯应该就是这样的。结果final还是错了。还好TA们头脑比较清晰,跟教授反映了问题,把分给回我们。
说到TA,这门课有八九个TA,每个人有各自负责的“specific area”。所以一开始不清楚他套路的时候,一封邮件可以被转很多次再去到对应的TA。并没有搞懂搞这么多TA干什么。
讲讲作业考试。作业中规中矩。考试嘿嘿嘿。我想说,教授你出的卷子自己做过没?本人非神非仙但水平还可以吧,final三小时,我反正基本没停笔一直在写,写完基本就没剩多久了。考还考了一堆上课没怎么讲过作业里没出现过的lab里面的内容。最后估计考虑题目出的太难,卷子改得比较松。
总的来说吧,这门课的workload主要在临考。个人不欣赏这个教授的风格。而且以前这门课不curve,88的总评据说是b range。说不定下次吴先生一拍脑袋,就不curve了呢?
[COMP3311]Database Management Systems
NG Wilfred Siu Hung課程時間:2016年spring季
授課教授:Wilfred Ng
這門課的Grade:Grade神/较好
如果不是将来要走database方向,不推荐上这门课
想知道这门课除了教SQL和Normal Form以外的教学内容,或者觉得这门课too simple, sometimes naive想自学的,强烈推荐这个如果有人问你数据库的原理,叫他看这篇文章
先说下在下个人认为的这门课的难度吧。如果有认真学过COMP3711,那么这门课上起来并不会感到很吃力。这门课的主要问题是涉及到的内容之广,比其它课多到不知道哪里去了,于是开卷考midterm和final的时候大部分时间都花在了找到对应的note上(我的print budget啊QAQ),学完了之后,给人一种好像什么都讲了但又什么都没讲的感觉。
这门课的内容以Midterm为界可以分成两个部分。Midterm前讲SQL的基础用法,ER Model&Diagram和Normal Form。Midterm后讲数据库实现所需要的知识,比如底层数据结构(b+树,hash)和相关算法,query的处理和优化,以及如何控制多个transaction之间的concurrency,具体可以参考上面的那个链接,水平比lecture note高了好几个华莱士。
在下觉得,midterm之前的内容还是值得一学的,就是lecture note的SQL语法实在诡异,既不与Oracle SQL兼容也不与T-SQL兼容,programming assignment时注意点就好。对于没接触过SQL的人来说,在学完midterm之前的内容后,应该足以在使用SQL时让人感叹“你为什么会这么熟练啊?!”。至于PL/SQL,note做得很一般,很多重要的细节没讲清楚,像trigger之类的建议自己看Oracle的Database PL/SQL Language Reference。4个assignment都是基于midterm前的内容,并不难,前两个和ER model有关,后两个写SQL query。
至于midterm后的内容,在下只想说两个字:呵呵。midterm之后学的东西也没有什么别的,大概三件事:第一个,底层和上层数据库组件概况;第二个,查询优化过程概况;第三个,事务和缓冲池管理概况。具体内容依旧可以参考上面的那个链接,在下这个鶸就不班门弄斧了。如果3711有认真学的话理解起来应该不难。然而,学了这么多,并没有什么用。为什么会这样呢?因为并没有在programming assignment里实践的机会,除了final,根本就没有机会用到这些知识。在下觉得,这门课增大assignment的权重,增加与底层实现相关的assignment也好,把PL/SQL讲深点,增加用PL/SQL管理数据库的知识也好,为什么非得搞成现在这样呢?然而据教授说这门课SFQ的评分还在持续上升,真是理解不能......
如果想拿高分的话,建议认真听tuto然后看强烈推荐这个如果有人问你数据库的原理,叫他看这篇文章。lecture在下觉得不是很重要,而且lecture note上有一些东西的定义(比如b+树的插入和删除)比较模糊,paper checking最好还是去一下,万一因为这些模糊的定义被扣分了还能argue回来。这门课的有一点好,TA数量非常的多,改卷速度比其它课的TA都快。下午考完试晚上就能出分,是在下输了。另外考试时很喜欢用文字游戏坑人,读题时千万要注意了……
以前据说这门课是不拉curve的,不过今年拉curve了,总评92以上就有A+,拿这门课来刷龟也不是不行。但是在下觉得想刷龟的话,如果能组到耿神这种级别的队友或者不在意workload的话可以上COMP4321/4411/5421,在意workload的话可以上COMP3031/4511,为什么非得上这种你一个人的龟啊,当然要靠自我奋斗,但是也要考虑到教授拉不拉curve的课呢?
[COMP3311]Database Management System
NG Wilfred Siu Hung課程時間:2016年Spring
授課教授:NG, Wilfred Siu Hung
我覺得教授 人挺好的
這門課的Grade:不知道
我覺得這門課
内容挺有意思,midterm之前主要讲SQL,midterm之后各种算法。
然而上课真的很容易走神,一走神大概就不知道Prof在讲什么了,其实不走神可能也听不懂。
考完试check paper感觉有些细节没有提到也考了,可能在tutorial提到了?
是我比较渣,各位大神放心去= =
[COMP1022P]CSE的天堂,其他人的地狱
NG Wilfred Siu Hung课程时间:2014年秋季
授课教授:Wilfred Siu Hung (T3)
我觉得教授人还是不错的,不过编的学案量太少了,不够用。更诡异的是三个教授一人编一套,其中我们这套和考试对不上号!
这门课的Grade:较好/一般/烂grade
我觉得这门课听听的话还是相当好的,不过仅限于这么旁听吧!如果不是专攻而只是顺便学学的同学,不建议选这门课。
讲的内容是Java基础。对于想学计算机并且有天赋的同学,还是很简单的,尤其是CSE系的,当我没说。因为学习Java的基本技能对于你们来讲就是理学院的MATH1023,这都学不好就出事了。课程相比其他课不是那么负责,不过也是还算不错的,基本的编程逻辑判断还是完整的。
但是由于这门课是公共课(Common Core),其他院系的同学们很容易为了凑分顺便加一节这节课,不仅看上去很适合低年级生,而且比较抢手,注册人数比较多,不是吗?但是这是三节计算机基本课程(1022P、Q,1021)中最坑的一节,并且在此提醒各位想要学编程的同学。和基础学科不同,编程属于一项技能,如同游泳一样,不会也能很好的活下去,会的话自然是锦上添花,但这不意味着你适合将编程选作你的专业,你的职业!
Java是微机语言界的一朵奇葩,其操作极其复杂,不适合初学者。建议学习掌握更高级的语言,比如C++、MATLAB、或者Mathematica。这些语言都不难,debug时也能很快的注意到程序中错误的位置,函数使用不仅比较多元,而且方便查询,适合日常搭配其他学科使用,比如MATLAB适合处理矩阵,Mathematica适合处理函数。相比之下在Java中调用各种数据十分复杂,即使是写伪代码十分熟练的我也经常为了编译头疼,因为总是提示输入方式不正确。而课堂上只讲述了基本逻辑,lab中直接要求你写代码,中间就出现了一个坑。比如你明明知道把两个数加起来就可以了,但系统发出了各种奇怪的错误提示,这两个数类型不对,调用位置不对,总之就是不可以加起来,你就头疼去吧。
然后是龟。这门课作为计算机院的基础课,对于准备进计算机学院的同学们根本不算事,就好像数竞大神经常秒杀高考压轴题一样,而其他人根本做不到。同样的,如果你不具备极强的Java技能,还想好好把龟留在A range的话,就不要轻易碰这门课,这里的local们已经把平均分拉上去了;如果你进来了,能活在B range杀出来就是比较好的战绩了。即使会编程的同学也建议改选1022Q或1021,祝你好运!